Reset all the grab state, to help debugging. (gdk_event_translate): Use
authorRichard Hult <richard@imendio.com>
Mon, 28 May 2007 20:51:11 +0000 (20:51 +0000)
committerRichard Hult <rhult@src.gnome.org>
Mon, 28 May 2007 20:51:11 +0000 (20:51 +0000)
2007-05-28  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkevents-quartz.c (pointer_ungrab_internal): Reset
all the grab state, to help debugging.
(gdk_event_translate): Use pointer_ungrab_internal instead of
duplicating the code here.

svn path=/trunk/; revision=17969

ChangeLog
gdk/quartz/gdkevents-quartz.c

index d7fb861fc26c90ff907916134188b704dd87a4f2..be9dc37a233a2a43b22cbc50d917cbd6acdb1340 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-05-28  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkevents-quartz.c (pointer_ungrab_internal): Reset
+       all the grab state, to help debugging.
+       (gdk_event_translate): Use pointer_ungrab_internal instead of
+       duplicating the code here.
+
 2007-05-28  Richard Hult  <richard@imendio.com>
 
        * gdk/quartz/gdkprivate-quartz.h:
index 012adcced87175361272d73f5a3064818eaf7fd8..26cc89520c6011abb0de1ca747cf24b65e1a9da9 100644 (file)
@@ -156,6 +156,10 @@ pointer_ungrab_internal (gboolean only_if_implicit)
   g_object_unref (_gdk_quartz_pointer_grab_window);
   _gdk_quartz_pointer_grab_window = NULL;
 
+  pointer_grab_owner_events = FALSE;
+  pointer_grab_event_mask = 0;
+  pointer_grab_implicit = FALSE;
+
   /* FIXME: Send crossing events */
 }
 
@@ -1170,8 +1174,7 @@ gdk_event_translate (NSEvent *nsevent)
              generate_grab_broken_event (_gdk_quartz_pointer_grab_window,
                                          FALSE, pointer_grab_implicit,
                                          NULL);
-             g_object_unref (_gdk_quartz_pointer_grab_window);
-             _gdk_quartz_pointer_grab_window = NULL;
+             pointer_ungrab_internal (FALSE);
            }
        }
     }